---
title: StageNodeRotate 节点旋转
icon: RotateCw
relatedFile: app/src/core/stage/stageManager/concreteMethods/stageNodeRotate.tsx
---

该服务负责处理图形界面中节点及其关联子树的旋转操作。

## API

### `moveEdges(lastMoveLocation: Vector, diffLocation: Vector)`

此方法通过拖拽选中的边来触发节点的旋转。它会计算鼠标拖拽引起的角度变化，并以此为依据，对与被拖拽边相连的源节点及其子节点进行旋转。该操作一次只处理一条选中的边。

### `rotateNodeDfs(rotateCenterNode: ConnectableEntity, currentNode: ConnectableEntity, degrees: number, visitedUUIDs: string[])`

这是一个递归函数，用于深度优先遍历并旋转节点。它以一个中心节点为旋转基点，计算当前节点相对于该基点的旋转位置，并将其移动到新位置。随后，它会递归地对其子节点执行相同的旋转操作，确保整个节点子树随之旋转。在旋转过程中，还会添加视觉效果以提供反馈。
